<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>Expr (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>

  <script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
     google.load("visualization", "1", {packages:["orgchart"]});
     var _loadingVisualizations = true;
  </script>

  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
        <span class="fn">ds.Expr</span>
        <span>Extends</span>
        <span class="fn-name">
          Object
        </span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    Create a new expression. An expression uses a string expression language, and
from this string and a passed in DataNode can evaluate to a value, DataNode,
or a DataNodeList.
  </div>


        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="closure_goog_datasource_expr.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/closure/goog/datasource/expr.js">Git</a></li>
          </ol>
        </div>
</div>






<h2 class="g-first">Inheritance</h2>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
  <tr><td>goog.ds.Expr</td><td></td></tr>
</table>
</div>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
</table>
</div>




  <h2>Constructor</h2>
      <div class="fn-constructor">
    goog.ds.Expr(<span><span class="arg">opt_expr</span></span>)
  </div>

   <h3>Parameters</h3>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_expr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The string expression.</div>
     </td>
   </tr>
  </table>


<h2>Instance Methods</h2>


  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_ds_Expr.html">
              goog.ds.Expr
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getLast"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getLast<span class="args">()</span>
        </span>
        &#8658; <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
      </div>


     <div class="entryOverview">
       Gets the last part of the expression.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>&nbsp;
            Last part of the expression.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line147">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getNext"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getNext<span class="args">()</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Gets the parent expression of this expression, or null if this is top level
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            The parent.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line172">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getNode"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getNode<span class="args">(<span class="arg">opt_ds</span>,&nbsp;<span class="arg">opt_canCreate</span>)</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Evaluate an expression on a data node, and return the first matching node
Recursively walks through child nodes to evaluate
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_ds</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional datasource to evaluate against. If not provided, evaluates against DataManager global root.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_canCreate</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">If true, will try to create new nodes.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            Matching nodes, or null if doesn't exist.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line246">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getNodes"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getNodes<span class="args">(<span class="arg">opt_ds</span>,&nbsp;<span class="arg">opt_canCreate</span>)</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNodeList.html">goog.ds.DataNodeList</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Evaluate an expression on a data node, and return matching nodes
Recursively walks through child nodes to evaluate
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_ds</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional datasource to evaluate against. If not provided, evaluates against data root.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_canCreate</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">If true, will try to create new nodes.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_DataNodeList.html">goog.ds.DataNodeList</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            Matching nodes.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line231">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getNodes_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getNodes_<span class="args">(<span class="arg">opt_ds</span>,&nbsp;<span class="arg">opt_selectOne</span>,&nbsp;<span class="arg">opt_canCreate</span>)</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Evaluate an expression on a data node, and return the first matching node
Recursively walks through child nodes to evaluate
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_ds</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional datasource to evaluate against. If not provided, evaluates against DataManager global root.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_selectOne</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Whether to return single matching DataNode or matching nodes in DataNodeList.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_canCreate</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">If true, will try to create new nodes.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            Matching node or nodes, depending on value of opt_selectOne.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line265">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getParent"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getParent<span class="args">()</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Gets the parent expression of this expression, or null if this is top level
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            The parent.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line156">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getSource"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getSource<span class="args">()</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
      </div>


     <div class="entryOverview">
       Get the source data path for the expression
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>&nbsp;
            The path.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line138">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.getValue"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getValue<span class="args">(<span class="arg">opt_ds</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type">*</span></div>
      </div>


     <div class="entryOverview">
       Evaluate an expression on a data node, and return a value
Recursively walks through child nodes to evaluate
TODO(user) Support other expression functions
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_ds</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_DataNode.html">goog.ds.DataNode</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional datasource to evaluate against. If not provided, evaluates against DataManager global root.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type">*</span></div>&nbsp;
            Value of the node, or null if doesn't exist.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line193">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.prototype.setSource_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setSource_<span class="args">(<span class="arg">expr</span>,&nbsp;<span class="arg">opt_parts</span>,&nbsp;<span class="arg">opt_childExpr</span>,&nbsp;<span class="arg">opt_prevExpr</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Set the source expression text &amp; parse
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">expr</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The string expression source.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_parts</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Array of the parts of an expression.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_childExpr</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional child of this expression, passed in as a hint for processing.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_prevExpr</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional preceding expression (i.e. $A/B/C is previous expression to B/C) passed in as a hint for processing.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line70">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Instance Properties</h2>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_ds_Expr.html">
              goog.ds.Expr
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.canBeEmpty_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">canBeEmpty_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Whether the expression can be null.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line308">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.exprFn_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">exprFn_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
     </div>


     <div class="entryOverview">
       The function used by this expression
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line398">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.isAllAttributes_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">isAllAttributes_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Does this expression select all DOM-style attribute nodes (starts with '@')
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line380">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.isAllChildNodes_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">isAllChildNodes_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Does this expression select all DOM-style child nodes (element and text)
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line371">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.isAllElements_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">isAllElements_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Does this expression select all DOM-style element child nodes
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line389">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.isCurrent_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">isCurrent_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Whether the expression evaluates to current node
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line353">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.isJustAttribute_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">isJustAttribute_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Whether the expression is just an attribute
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line362">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.last_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">last_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
     </div>


     <div class="entryOverview">
       The last path in the expression
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line344">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.nextExpr_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">nextExpr_</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       Cached value for the next expression.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line414">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.parentExpr_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">parentExpr_</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       Cached value for the parent expression.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line406">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.parts_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">parts_</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       The parsed paths in the expression
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line317">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.root_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">root_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
     </div>


     <div class="entryOverview">
       The root node path in the expression
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line335">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.prototype.size_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">size_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>)</div>
     </div>


     <div class="entryOverview">
       Number of paths in the expression
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line326">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Static Methods</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.create"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ds.Expr.</span><span class="entryName">create<span class="args">(<span class="arg">expr</span>)</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Create an expression from a string, can use cached values
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">expr</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The expression string.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            The expression object.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line423">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.ds.Expr.createInternal_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ds.Expr.</span><span class="entryName">createInternal_<span class="args">(<span class="arg">opt_expr</span>,&nbsp;<span class="arg">opt_parts</span>,&nbsp;<span class="arg">opt_childExpr</span>,&nbsp;<span class="arg">opt_prevExpr</span>)</span>
        </span>
        &#8658; <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
      </div>


     <div class="entryOverview">
       Create an expression from a string, can use cached values
Uses hints from related expressions to help in creation
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">opt_expr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The string expression source.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_parts</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Array of the parts of an expression.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_childExpr</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional child of this expression, passed in as a hint for processing.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_prevExpr</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional preceding expression (i.e. $A/B/C is previous expression to B/C) passed in as a hint for processing.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType">(<span class="type"><a href="class_goog_ds_Expr.html">goog.ds.Expr</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>&nbsp;
            The expression object.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line448">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>



<h2>Enumerations</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.ds.Expr.String_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.ds.Expr.</span><span class="entryName">String_</span>
        : 
     </div>


     <div class="entryOverview">
       Commonly used strings in expressions.
     </div>

     <div class="entryDetails">
       <div class="detailsSection">
          <b>Constants:</b>
          <table class="horiz-rule">
            <tbody>
              <tr><td>
                <span class="entryName">
                  SEPARATOR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  ALL_CHILD_NODES_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  NAME_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  COUNT_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  INDEX_START
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  ATTRIBUTE_START
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  POSITION_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  ALL_ELEMENTS_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  ALL_ATTRIBUTES_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  INDEX_END
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  CAN_BE_EMPTY
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  EMPTY_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  CURRENT_NODE_EXPR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
           </tbody>
         </table>
       </div>
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_datasource_expr.js.source.html#line474">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Package ds</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">Package Reference</h2>
            <div id="sideTypeIndex" rootPath="" current="ds.Expr"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
